#ifndef CLASSCONCRETEDIALOG_H
#define CLASSCONCRETEDIALOG_H

#include <QWidget>
#include <QTableWidget>
#include <QTableWidgetItem>
#include <QLabel>
#include <QPalette>
#include <QString>
#include <QChar>

#define WCLCONCRETE	610
#define HCLCONCRETE	180
#define CLCITEMINDENT	5
#define CLCMAXITEMS	6

class ClassConcreteDialog : public QTableWidget {
 Q_OBJECT
public:
  ClassConcreteDialog(QWidget *parent = 0);

protected:
  QLabel * item;
  QLabel * items[CLCMAXITEMS][CLCMAXITEMS];
  
  QTableWidgetItem * nameColumn;

  //Конвертирование кодировки
  QTextCodec * russianCodec;

  //Палитра
  QPalette palette;

  //Маленький период
  bool bigPeriod;

  //Текущая выделенная ячейка
  int curSelRow;

  void keyPressEvent(QKeyEvent * event);

public slots:
  void selectRow(int num) { selectCell(num-1, 0); };

protected slots:
  void selectCell(int row, int column);
  void selectCellAndClose(int row, int column);

signals:
  void selectClass(int clss);

private:
  bool createItem(int row, int column, const QString & str, bool center);

  void setColor(const QColor & color, int row, int column);
  void setDefColor(int row, int column);
  void resetSel();

}; //class ClassConcreteDialog : public QTableWidget


#endif
